package com.fitso.model.bean.measure.energy;

import java.math.BigDecimal;

import com.fitso.model.bean.measure.Measure;

/**
 * Base energy is {@link kiloJoule}
 * 
 * @author timothystorm
 * 
 */
public abstract class Energy extends Measure {
	private static final long serialVersionUID = 1L;
	
	public Energy() {
		super();
	}

	public Energy(Integer value) {
		super(value);
	}

	public Energy(Double value) {
		super(value);
	}

	public Energy(BigDecimal value) {
		super(value);
	}

	public Energy(Energy energy) {
		convert(energy);
	}

	public Energy convert(Energy energy) {
		return (Energy) super.convert(energy);
	}

	public Energy add(Energy energy) {
		return (Energy) super.add(energy);
	}

	public Energy add(Integer energy) {
		return (Energy) super.add(energy);
	}

	public Energy add(Double energy) {
		return (Energy) super.add(energy);
	}

	public Energy subtract(Energy energy) {
		return (Energy) super.subtract(energy);
	}

	public Energy subtract(Integer energy) {
		return (Energy) super.subtract(energy);
	}

	public Energy subtract(Double energy) {
		return (Energy) super.subtract(energy);
	}

	public Energy multiply(Energy energy) {
		return (Energy) super.multiply(energy);
	}

	public Energy multiply(Integer energy) {
		return (Energy) super.multiply(energy);
	}

	public Energy multiply(Double energy) {
		return (Energy) super.multiply(energy);
	}

	public Energy divide(Energy energy) {
		return (Energy) super.divide(energy);
	}

	public Energy divide(Integer energy) {
		return (Energy) super.divide(energy);
	}

	public Energy divide(Double energy) {
		return (Energy) super.divide(energy);
	}

	protected Class<Energy> getMeasure() {
		return Energy.class;
	}
}
